using MediatR;
using System.ComponentModel.DataAnnotations;
using ThreeTeams.ErrorCode;

namespace ThreeTeams.API.Application.Command.BoxTypeManageMentCommand
{
    /// <summary>
    /// Command to create a BoxType.
    /// </summary>
    public class CreateBoxTypeCommand : IRequest<ApiResult<int>>
    {
        /// <summary>
        /// 型号名称
        /// </summary>
        [Required]
        [StringLength(100)]
        public string Name { get; set; } = string.Empty;

        /// <summary>
        /// 长度(厘米)
        /// </summary>
        [Required]
        public decimal Length { get; set; }

        /// <summary>
        /// 宽度(厘米)
        /// </summary>
        [Required]
        public decimal Width { get; set; }

        /// <summary>
        /// 高度(厘米)
        /// </summary>
        [Required]
        public decimal Height { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [StringLength(500)]
        public string? Notes { get; set; }

        /// <summary>
        /// 状态 1-启用 0-禁用
        /// </summary>
        public int Status { get; set; } = 1;
    }
} 